Introduction
COVID-19 in the United States
Our group was interested in exploring the repercussions of the COVID-19 pandemic on young people-- especially students. In our initial research, we found that within the United States, the rise of remote learning has called for additional attention on students’ mental health as they experience a lack of social interaction, less direct support from teachers, and difficulty focusing at home. Aside from academics, the mental well-being of all youth in general has also been negatively affected; children and their families are asked to self-quarantine and, in some cases, leave their jobs. Health experts are now concerned about the long term mental health conditions of our youth. They believe that experiencing and living in these tough situations for an extended amount of time can cause children to have anxiety and depression which is why we need to start paying close attention to negative impacts of COVID-19 on mental health. For more information regarding this issue, you may read the article provided in this link.
Data Collection
We intended to look for data that investigated the effects of COVID-19 in the United States, but had difficulty finding a data set that had an adequate amount or suitable type of data for our project. We then broadened the scope of our search and decided to look outside of the United States. As Americans, we have seen and experienced the pandemic’s implications on mental health within the United States, but were quite curious about the present circumstances elsewhere. While searching for new research and data sets, we stumbled upon a relatively recent research conducted in Delhi (the capital territory of India) called "COVID-19 and its impact on education, social life and mental health of students: A Survey".
Implications in India
Data was collected from subjects living in the National Capital Region (NCR)-- which encompasses both Delhi and its surrounding areas-- as well as outside of this region. In this study, researchers collected data from a total of 1,182 individuals of various age-groups, ranging from 7 to 59 years old, and observed how several aspects of their lives were affected after the lock-down. Additionally, they recorded the different coping mechanisms respondents adopted due to such sudden changes. Various variables such as amount of hours spent in online classes and on self-study, duration of sleep, and time spent on fitness were recorded and analyzed as factors related to mental health. Although an effect on students’ education, social life, physical health, and mental well-being was expected, this research suggests that the public should take necessary measures to prevent psychological problems and improve students’ experiences in and outside of academics; our current results are not meeting the expectations of initial government policies. For specific details on the demographics, objectives, and methods of this study, please read the research paper linked here.
Although the researchers in this study did a phenomenal job at creating, designing, and interpreting their own plots, we decided to ask a different set of questions and explore our own interests by using the same data set while still acknowledging their remarkable findings. Overall, we wondered how has COVID-19 affected mental health among students? How do factors like social connection, sleep and social media use affect student life and class activities?
Demographics
Age Breakdown
Before exploring the data set, it's important to first acknowledge that there is indeed a demographic imbalance. Of the 1,182 respondents, the research paper states that 84.3% of those subjects were 7 to 22 years of age with the mean age being 20.16 years old. This bar plot visually demonstrates that most of the data comes from college-aged respondents. As the aim of this study was to research COVID-19 implications on the education, social life, and mental health of students, it makes sense that there are so many respondents in this age range.
These topics of education, social life, and mental health are big ideas to explore. In order to get a more accurate picture of the interaction between COVID-19, education, and mental health, we wanted to break the respondents into age groupings that related to anticipated education level. For respondents in the 7 to 23 age range, we can guess what level of schooling they are in based solely on age. However, for older respondents, this is not so simple. Thus, we broke up the older respondents into what we thought of as different life stages. The age groups that we chose, along with the number and proportion of respondents in that age range, are as follows:
| Age |
Respondents |
Proportion |
| 7-13 |
92 |
7.783% |
| 14-18 |
276 |
23.350% |
| 19-23 |
674 |
57.022% |
| 24-33 |
91 |
7.699% |
| 34-45 |
45 |
3.807% |
| 46-59 |
4 |
0.338% |
| total |
1,182 |
— |
Region
Just as we observed with the previous plot, the number of respondents per region of residence also differs. This plot displays that there is indeed quite a significant difference between Delhi-NCR respondents and respondents living outside of the Delhi-NCR. Although the online-survey was originally aimed at institutions within the Delhi-NCR region, a significant number of responses from outside of Delhi-NCR were received; this was due to distance-learning regulations that forced many students to move out of homes and institutions to reside elsewhere. Of the total number of respondents, 38.3% were living outside of the Delhi-NCR.
Class Time
This plot compares the median number of hours spent in class by different age groups. For the sole purpose of this study, it is important to draw attention to how many hours students are spending sitting in front of a screen each day. From this plot, we can observe that respondents within the 7-13 and 14-18 age-groups spend the most amount of time in class per day. The researchers emphasized that different variables (time spent on online class, self-study, fitness, sleep, and social media) change with different age distributions. Average time spent in class and age-group were two of the variables that were inversely proportional to each other; as age-group value increases, the average number of hours spent online starts to decrease.

Outcomes and Effects of COVID-19
|
|
| School/college |
368 |
| Friends , relatives |
213 |
| Travelling |
169 |
| Roaming around freely |
143 |
| Other |
137 |
| Eating outside |
99 |
We were interested in examining what the survey respondents missed the most during the COVID-19 pandemic; we found that out of the many survey responses, eating outside, friends and relatives, roaming around freely, school/college, and traveling were the most common responses to the question "What do you miss the most?". We observed that the most common responses were also what we, as college students, missed in the United States. It was interesting that school and/or college was the most common answer, but this answer makes sense when considering the demographics of the respondents and the most common ages for response: school and college aged people.

It doesn't appear that region impacted what respondents missed. We anticipated this because, as mentioned, many of the things that survey respondents reported missing were things that we as American students also missed. However, because our demographic is imbalanced, we were curious to look more closely at the age groupings we made and see how students responded to this question compared to their peers.
What Respondents Miss the Most: Proportionally by Age Group 
Conclusion
Major Findings
The relationship between social media use and sleep varies slightly by age, and there was not a strong association between connection and social media.
Time spent in class did not have a significant effect on connection with loved ones, but varied by age.
Aspects of regular life that COVID-19 changed or took away were missed by different ages in different ways. For example, 7-13 year-olds most missed school while those aged 34-45 missed travel.
Takeaways
In both the United States and India, research data and analysis concludes that the COVID-19 pandemic has indeed impacted students’ mental health and education. Both regions suggest that there are measures we need to begin taking as well as several aspects of our public education that call for improvisation. It is a global responsibility for authorities, educators, and parents to nurture the potential of our youth by providing them a safe environment and a supportive education system.
There are a few suggestions for educators and institutions that we agreed with and believe should be applied globally once the pandemic ends. First off, educators all over the world should acknowledge the major role that they have within every single students’ mental and physical well-being. Especially at a time like this, there are many steps that teachers can take to help lessen stress and anxiety for their students; one such measure of support is individually checking in with students to chat about aspects of their life outside of academics. Additionally, authorities should begin investing more in online education and conduct further research to improve it. This way, if another global pandemic is to occur in the near future, we can minimize or prevent the disruption in academic life, avoid COVID-19 related issues from reoccurring, and thus provide our students with an improved online education system. Teachers will need proper training for skills in remote teaching. Last but definitely not least, the research suggested that we can better provide mental and emotional support for students by improving health care management overall.
References
Becker, S. P., Jarrett, M. A., Luebbe, A. M., Garner, A. A., Burns, G. L., & Kofler, M. J. (2018). Sleep in a large, multi-university sample of college students: sleep problem prevalence, sex differences, and mental health correlates. Sleep health, 4(2), 174-181.
Berryman, C., Ferguson, C. J., & Negy, C. (2018). Social media use and mental health among young adults. Psychiatric quarterly, 89(2), 307-314.
Chaturvedi, Kunal, et al. “COVID-19 and Its Impact on Education, Social Life and Mental Health of Students: A Survey.” Children and Youth Services Review, vol. 121, 27 Dec. 2020, p. 105866., doi:10.1016/j.childyouth.2020.105866.
WritingCity. “How Remote Learning Affects Students' Mental Health.” WritingCity, 9 Oct. 2020, www.writingcity.com/how-remote-learning-affects-students-mental-health.html.
LS0tCnRpdGxlOiAiQ09WSUQtMTkgYW5kIGl0cyBJbXBhY3Qgb24gU3R1ZGVudCBNZW50YWwgSGVhbHRoIgphdXRob3I6ICJFbGl6YWJldGggQ2FpbiwgTWF5YSBIYWpueSBGZXJuYW5kZXosIFN0ZXBoYW5pZSBLb25hZHUtQWNoZWFtcG9uZywgR2FvY2hhIExlZSAiCmRhdGU6ICIzLzEzLzIwMjEiCm91dHB1dDogCiAgaHRtbF9kb2N1bWVudDoKICAgIGtlZXBfbWQ6IFRSVUUKICAgIHRvYzogVFJVRQogICAgdG9jX2Zsb2F0OiBUUlVFCiAgICBkZl9wcmludDogcGFnZWQKICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKICAgIGNvZGVfZm9sZGluZzogaGlkZQogICAgdGhlbWU6IGNvc21vCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gRkFMU0UsIG1lc3NhZ2UgPSBGQUxTRSwgd2FybmluZyA9IEZBTFNFKQpgYGAKCmBgYHtyIGxpYnJhcmllc30KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkobHVicmlkYXRlKQpsaWJyYXJ5KFJDb2xvckJyZXdlcikKbGlicmFyeShwbG90bHkpCmxpYnJhcnkoZ2dhbmltYXRlKQpsaWJyYXJ5KGdndGV4dCkKbGlicmFyeShwYXRjaHdvcmspCmxpYnJhcnkoZ3QpCnRoZW1lX3NldCh0aGVtZV9taW5pbWFsKCkpCmBgYAoKYGBge3J9CmRhdGFzZXQgPC0gcmVhZF9jc3YoIkRhdGEuY3N2IikgJT4lIAogIG11dGF0ZShBZ2VDYXQgPSBjdXQoQWdlLCBicmVha3MgPSBjKDAsMTMsMTgsMjMsMzMsNDUsNjApLCBsYWJlbHMgPSBjKCI3LTEzIiwgIjE0LTE4IiwgIjE5LTIzIiwgIjI0LTMzIiwgIjM0LTQ1IiwgIjQ2LTU5IikpKSAlPiUKICBtdXRhdGUoYXZnc2xlZXAgPSBtZWFuKFNsZWVwKSkgJT4lIAogIG11dGF0ZShTb2NpYWxDYXQgPSBjdXRfbnVtYmVyKFNvY2lhbE1lZGlhLCBuID0gMykpCmBgYAoKIyMgKipJbnRyb2R1Y3Rpb24qKgoKIyMjICoqQ09WSUQtMTkgaW4gdGhlIFVuaXRlZCBTdGF0ZXMqKgoKT3VyIGdyb3VwIHdhcyBpbnRlcmVzdGVkIGluIGV4cGxvcmluZyB0aGUgcmVwZXJjdXNzaW9ucyBvZiB0aGUgQ09WSUQtMTkgcGFuZGVtaWMgb24geW91bmcgcGVvcGxlLS0gZXNwZWNpYWxseSBzdHVkZW50cy4gSW4gb3VyIGluaXRpYWwgcmVzZWFyY2gsIHdlIGZvdW5kIHRoYXQgd2l0aGluIHRoZSBVbml0ZWQgU3RhdGVzLCB0aGUgcmlzZSBvZiByZW1vdGUgbGVhcm5pbmcgaGFzIGNhbGxlZCBmb3IgYWRkaXRpb25hbCBhdHRlbnRpb24gb24gc3R1ZGVudHPigJkgbWVudGFsIGhlYWx0aCBhcyB0aGV5IGV4cGVyaWVuY2UgYSBsYWNrIG9mIHNvY2lhbCBpbnRlcmFjdGlvbiwgbGVzcyBkaXJlY3Qgc3VwcG9ydCBmcm9tIHRlYWNoZXJzLCBhbmQgZGlmZmljdWx0eSBmb2N1c2luZyBhdCBob21lLiBBc2lkZSBmcm9tIGFjYWRlbWljcywgdGhlIG1lbnRhbCB3ZWxsLWJlaW5nIG9mIGFsbCB5b3V0aCBpbiBnZW5lcmFsIGhhcyBhbHNvIGJlZW4gbmVnYXRpdmVseSBhZmZlY3RlZDsgY2hpbGRyZW4gYW5kIHRoZWlyIGZhbWlsaWVzIGFyZSBhc2tlZCB0byBzZWxmLXF1YXJhbnRpbmUgYW5kLCBpbiBzb21lIGNhc2VzLCBsZWF2ZSB0aGVpciBqb2JzLiBIZWFsdGggZXhwZXJ0cyBhcmUgbm93IGNvbmNlcm5lZCBhYm91dCB0aGUgbG9uZyB0ZXJtIG1lbnRhbCBoZWFsdGggY29uZGl0aW9ucyBvZiBvdXIgeW91dGguIFRoZXkgYmVsaWV2ZSB0aGF0IGV4cGVyaWVuY2luZyBhbmQgbGl2aW5nIGluIHRoZXNlIHRvdWdoIHNpdHVhdGlvbnMgZm9yIGFuIGV4dGVuZGVkIGFtb3VudCBvZiB0aW1lIGNhbiBjYXVzZSBjaGlsZHJlbiB0byBoYXZlIGFueGlldHkgYW5kIGRlcHJlc3Npb24gd2hpY2ggaXMgd2h5IHdlIG5lZWQgdG8gc3RhcnQgcGF5aW5nIGNsb3NlIGF0dGVudGlvbiB0byBuZWdhdGl2ZSBpbXBhY3RzIG9mIENPVklELTE5IG9uIG1lbnRhbCBoZWFsdGguIEZvciBtb3JlIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB0aGlzIGlzc3VlLCB5b3UgbWF5IHJlYWQgdGhlIGFydGljbGUgcHJvdmlkZWQgaW4gdGhpcyBbbGlua10oaHR0cHM6Ly93d3cud3JpdGluZ2NpdHkuY29tL2hvdy1yZW1vdGUtbGVhcm5pbmctYWZmZWN0cy1zdHVkZW50cy1tZW50YWwtaGVhbHRoLmh0bWwpLgoKIyMjICoqRGF0YSBDb2xsZWN0aW9uKioKCldlIGludGVuZGVkIHRvIGxvb2sgZm9yIGRhdGEgdGhhdCBpbnZlc3RpZ2F0ZWQgdGhlIGVmZmVjdHMgb2YgQ09WSUQtMTkgaW4gdGhlIFVuaXRlZCBTdGF0ZXMsIGJ1dCBoYWQgZGlmZmljdWx0eSBmaW5kaW5nIGEgZGF0YSBzZXQgdGhhdCBoYWQgYW4gYWRlcXVhdGUgYW1vdW50IG9yIHN1aXRhYmxlIHR5cGUgb2YgZGF0YSBmb3Igb3VyIHByb2plY3QuIFdlIHRoZW4gYnJvYWRlbmVkIHRoZSBzY29wZSBvZiBvdXIgc2VhcmNoIGFuZCBkZWNpZGVkIHRvIGxvb2sgb3V0c2lkZSBvZiB0aGUgVW5pdGVkIFN0YXRlcy4gQXMgQW1lcmljYW5zLCB3ZSBoYXZlIHNlZW4gYW5kIGV4cGVyaWVuY2VkIHRoZSBwYW5kZW1pY+KAmXMgaW1wbGljYXRpb25zIG9uIG1lbnRhbCBoZWFsdGggd2l0aGluIHRoZSBVbml0ZWQgU3RhdGVzLCBidXQgd2VyZSBxdWl0ZSBjdXJpb3VzIGFib3V0IHRoZSBwcmVzZW50IGNpcmN1bXN0YW5jZXMgZWxzZXdoZXJlLiBXaGlsZSBzZWFyY2hpbmcgZm9yIG5ldyByZXNlYXJjaCBhbmQgZGF0YSBzZXRzLCB3ZSBzdHVtYmxlZCB1cG9uIGEgcmVsYXRpdmVseSByZWNlbnQgcmVzZWFyY2ggY29uZHVjdGVkIGluIERlbGhpICh0aGUgY2FwaXRhbCB0ZXJyaXRvcnkgb2YgSW5kaWEpIGNhbGxlZCAiQ09WSUQtMTkgYW5kIGl0cyBpbXBhY3Qgb24gZWR1Y2F0aW9uLCBzb2NpYWwgbGlmZSBhbmQgbWVudGFsIGhlYWx0aCBvZiBzdHVkZW50czogQSBTdXJ2ZXkiLiAKCiMjIyAqKkltcGxpY2F0aW9ucyBpbiBJbmRpYSoqCgpEYXRhIHdhcyBjb2xsZWN0ZWQgZnJvbSBzdWJqZWN0cyBsaXZpbmcgaW4gdGhlIE5hdGlvbmFsIENhcGl0YWwgUmVnaW9uIChOQ1IpLS0gd2hpY2ggZW5jb21wYXNzZXMgYm90aCBEZWxoaSBhbmQgaXRzIHN1cnJvdW5kaW5nIGFyZWFzLS0gYXMgd2VsbCBhcyBvdXRzaWRlIG9mIHRoaXMgcmVnaW9uLiBJbiB0aGlzIHN0dWR5LCByZXNlYXJjaGVycyBjb2xsZWN0ZWQgZGF0YSBmcm9tIGEgdG90YWwgb2YgMSwxODIgaW5kaXZpZHVhbHMgb2YgdmFyaW91cyBhZ2UtZ3JvdXBzLCByYW5naW5nIGZyb20gNyB0byA1OSB5ZWFycyBvbGQsIGFuZCBvYnNlcnZlZCBob3cgc2V2ZXJhbCBhc3BlY3RzIG9mIHRoZWlyIGxpdmVzIHdlcmUgYWZmZWN0ZWQgYWZ0ZXIgdGhlIGxvY2stZG93bi4gQWRkaXRpb25hbGx5LCB0aGV5IHJlY29yZGVkIHRoZSBkaWZmZXJlbnQgY29waW5nIG1lY2hhbmlzbXMgcmVzcG9uZGVudHMgYWRvcHRlZCBkdWUgdG8gc3VjaCBzdWRkZW4gY2hhbmdlcy4gVmFyaW91cyB2YXJpYWJsZXMgc3VjaCBhcyBhbW91bnQgb2YgaG91cnMgc3BlbnQgaW4gb25saW5lIGNsYXNzZXMgYW5kIG9uIHNlbGYtc3R1ZHksIGR1cmF0aW9uIG9mIHNsZWVwLCBhbmQgdGltZSBzcGVudCBvbiBmaXRuZXNzIHdlcmUgcmVjb3JkZWQgYW5kIGFuYWx5emVkIGFzIGZhY3RvcnMgcmVsYXRlZCB0byBtZW50YWwgaGVhbHRoLiBBbHRob3VnaCBhbiBlZmZlY3Qgb24gc3R1ZGVudHPigJkgZWR1Y2F0aW9uLCBzb2NpYWwgbGlmZSwgcGh5c2ljYWwgaGVhbHRoLCBhbmQgbWVudGFsIHdlbGwtYmVpbmcgd2FzIGV4cGVjdGVkLCB0aGlzIHJlc2VhcmNoIHN1Z2dlc3RzIHRoYXQgdGhlIHB1YmxpYyBzaG91bGQgdGFrZSBuZWNlc3NhcnkgbWVhc3VyZXMgdG8gcHJldmVudCBwc3ljaG9sb2dpY2FsIHByb2JsZW1zIGFuZCBpbXByb3ZlIHN0dWRlbnRz4oCZIGV4cGVyaWVuY2VzIGluIGFuZCBvdXRzaWRlIG9mIGFjYWRlbWljczsgb3VyIGN1cnJlbnQgcmVzdWx0cyBhcmUgbm90IG1lZXRpbmcgdGhlIGV4cGVjdGF0aW9ucyBvZiBpbml0aWFsIGdvdmVybm1lbnQgcG9saWNpZXMuIEZvciBzcGVjaWZpYyBkZXRhaWxzIG9uIHRoZSBkZW1vZ3JhcGhpY3MsIG9iamVjdGl2ZXMsIGFuZCBtZXRob2RzIG9mIHRoaXMgc3R1ZHksIHBsZWFzZSByZWFkIHRoZSByZXNlYXJjaCBwYXBlciBsaW5rZWQgW2hlcmVdKGh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHVibGljYXRpb24vMzQ3OTM1NzY5X0NPVklELTE5X2FuZF9pdHNfaW1wYWN0X29uX2VkdWNhdGlvbl9zb2NpYWxfbGlmZV9hbmRfbWVudGFsX2hlYWx0aF9vZl9zdHVkZW50c19BX1N1cnZleSkuIAoKQWx0aG91Z2ggdGhlIHJlc2VhcmNoZXJzIGluIHRoaXMgc3R1ZHkgZGlkIGEgcGhlbm9tZW5hbCBqb2IgYXQgY3JlYXRpbmcsIGRlc2lnbmluZywgYW5kIGludGVycHJldGluZyB0aGVpciBvd24gcGxvdHMsIHdlIGRlY2lkZWQgdG8gYXNrIGEgZGlmZmVyZW50IHNldCBvZiBxdWVzdGlvbnMgYW5kIGV4cGxvcmUgb3VyIG93biBpbnRlcmVzdHMgYnkgdXNpbmcgdGhlIHNhbWUgZGF0YSBzZXQgd2hpbGUgc3RpbGwgYWNrbm93bGVkZ2luZyB0aGVpciByZW1hcmthYmxlIGZpbmRpbmdzLiBPdmVyYWxsLCB3ZSB3b25kZXJlZCBob3cgaGFzIENPVklELTE5IGFmZmVjdGVkIG1lbnRhbCBoZWFsdGggYW1vbmcgc3R1ZGVudHM/IEhvdyBkbyBmYWN0b3JzIGxpa2Ugc29jaWFsIGNvbm5lY3Rpb24sIHNsZWVwIGFuZCBzb2NpYWwgbWVkaWEgdXNlIGFmZmVjdCBzdHVkZW50IGxpZmUgYW5kIGNsYXNzIGFjdGl2aXRpZXM/IAoKIyMgKipEZW1vZ3JhcGhpY3MqKgoKIyMjICoqQWdlIEJyZWFrZG93bioqCgpCZWZvcmUgZXhwbG9yaW5nIHRoZSBkYXRhIHNldCwgaXQncyBpbXBvcnRhbnQgdG8gZmlyc3QgYWNrbm93bGVkZ2UgdGhhdCB0aGVyZSBpcyBpbmRlZWQgYSBkZW1vZ3JhcGhpYyBpbWJhbGFuY2UuIE9mIHRoZSAxLDE4MiByZXNwb25kZW50cywgdGhlIHJlc2VhcmNoIHBhcGVyIHN0YXRlcyB0aGF0IDg0LjMlIG9mIHRob3NlIHN1YmplY3RzIHdlcmUgNyB0byAyMiB5ZWFycyBvZiBhZ2Ugd2l0aCB0aGUgbWVhbiBhZ2UgYmVpbmcgMjAuMTYgeWVhcnMgb2xkLiBUaGlzIGJhciBwbG90IHZpc3VhbGx5IGRlbW9uc3RyYXRlcyB0aGF0IG1vc3Qgb2YgdGhlIGRhdGEgY29tZXMgZnJvbSBjb2xsZWdlLWFnZWQgcmVzcG9uZGVudHMuIEFzIHRoZSBhaW0gb2YgdGhpcyBzdHVkeSB3YXMgdG8gcmVzZWFyY2ggQ09WSUQtMTkgaW1wbGljYXRpb25zIG9uIHRoZSBlZHVjYXRpb24sIHNvY2lhbCBsaWZlLCBhbmQgbWVudGFsIGhlYWx0aCBvZiBzdHVkZW50cywgaXQgbWFrZXMgc2Vuc2UgdGhhdCB0aGVyZSBhcmUgc28gbWFueSByZXNwb25kZW50cyBpbiB0aGlzIGFnZSByYW5nZS4gCgo8YnI+CgpgYGB7cn0KZ2dwbG90bHkoZGF0YXNldCAlPiUgCiAgZ2dwbG90KGFlcyh4ID0gQWdlKSkgKwogIGdlb21fYmFyKGZpbGwgPSAiI2U3ZDRlOCIsIGNvbG9yPSIjOTk3MGFiIikgKwogIHNjYWxlX3hfY29udGludW91cyhuYW1lID0gIiIsIGJyZWFrcyA9IGMoNSwgMTAsIDE1LCAyMCwgMjUsIDMwLCAzNSwgNDAsIDQ1LCA1MCwgNTUsIDYwKSkgKwogIGxhYnModGl0bGUgPSAiTnVtYmVyIG9mIFN1cnZleSBSZXNwb25kZW50cyBieSBBZ2UiLCB4ID0gIkFnZSIsIHkgPSAiIikgKwogIHRoZW1lKGF4aXMubGluZSA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgICAgcGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgICAgcGxvdC50aXRsZS5wb3NpdGlvbj0gInBsb3QiLCAKICAgICAgICBzdHJpcC50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCkpKQpgYGAKCgpUaGVzZSB0b3BpY3Mgb2YgZWR1Y2F0aW9uLCBzb2NpYWwgbGlmZSwgYW5kIG1lbnRhbCBoZWFsdGggYXJlIGJpZyBpZGVhcyB0byBleHBsb3JlLiBJbiBvcmRlciB0byBnZXQgYSBtb3JlIGFjY3VyYXRlIHBpY3R1cmUgb2YgdGhlIGludGVyYWN0aW9uIGJldHdlZW4gQ09WSUQtMTksIGVkdWNhdGlvbiwgYW5kIG1lbnRhbCBoZWFsdGgsIHdlIHdhbnRlZCB0byBicmVhayB0aGUgcmVzcG9uZGVudHMgaW50byBhZ2UgZ3JvdXBpbmdzIHRoYXQgcmVsYXRlZCB0byBhbnRpY2lwYXRlZCBlZHVjYXRpb24gbGV2ZWwuIEZvciByZXNwb25kZW50cyBpbiB0aGUgNyB0byAyMyBhZ2UgcmFuZ2UsIHdlIGNhbiBndWVzcyB3aGF0IGxldmVsIG9mIHNjaG9vbGluZyB0aGV5IGFyZSBpbiBiYXNlZCBzb2xlbHkgb24gYWdlLiBIb3dldmVyLCBmb3Igb2xkZXIgcmVzcG9uZGVudHMsIHRoaXMgaXMgbm90IHNvIHNpbXBsZS4gVGh1cywgd2UgYnJva2UgdXAgdGhlIG9sZGVyIHJlc3BvbmRlbnRzIGludG8gd2hhdCB3ZSB0aG91Z2h0IG9mIGFzIGRpZmZlcmVudCBsaWZlIHN0YWdlcy4gVGhlIGFnZSBncm91cHMgdGhhdCB3ZSBjaG9zZSwgYWxvbmcgd2l0aCB0aGUgbnVtYmVyIGFuZCBwcm9wb3J0aW9uIG9mIHJlc3BvbmRlbnRzIGluIHRoYXQgYWdlIHJhbmdlLCBhcmUgYXMgZm9sbG93czoKCjxicj4KIApgYGB7cn0KZGF0YXNldCAlPiUgCiAgY291bnQoQWdlQ2F0KSAlPiUgCiAgbXV0YXRlKHByb3AgPSBuL3N1bShuKSkgJT4lIAogIGd0KHJvd25hbWVfY29sID0gIkFnZUNhdCIpJT4lIAogIHRhYl9oZWFkZXIoIlJlc3BvbmRlbnRzIGJ5IEFnZSBHcm91cCIpICU+JSAKICB0YWJfc3R1YmhlYWQobGFiZWw9IkFnZSIpICU+JQogIGZtdF9wZXJjZW50KGNvbHVtbnMgPSB2YXJzKHByb3ApLCBkZWNpbWFscyA9IDMpICU+JSAKICBjb2xzX2xhYmVsKG4gPSAiUmVzcG9uZGVudHMiLCBwcm9wPSJQcm9wb3J0aW9uIikgJT4lIAogIHN1bW1hcnlfcm93cyhjb2x1bW5zID0gdmFycyhBZ2VDYXQsIG4pLAogICAgZm5zID0gbGlzdCgKICAgICAgdG90YWwgPSB+c3VtKC4sIG5hLnJtID0gVFJVRSkpLGRlY2ltYWxzID0gMCkKYGBgCgo8YnI+CgojIyMgKipSZWdpb24qKgoKSnVzdCBhcyB3ZSBvYnNlcnZlZCB3aXRoIHRoZSBwcmV2aW91cyBwbG90LCB0aGUgbnVtYmVyIG9mIHJlc3BvbmRlbnRzIHBlciByZWdpb24gb2YgcmVzaWRlbmNlIGFsc28gZGlmZmVycy4gVGhpcyBwbG90IGRpc3BsYXlzIHRoYXQgdGhlcmUgaXMgaW5kZWVkIHF1aXRlIGEgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZSBiZXR3ZWVuIERlbGhpLU5DUiByZXNwb25kZW50cyBhbmQgcmVzcG9uZGVudHMgbGl2aW5nIG91dHNpZGUgb2YgdGhlIERlbGhpLU5DUi4gQWx0aG91Z2ggdGhlIG9ubGluZS1zdXJ2ZXkgd2FzIG9yaWdpbmFsbHkgYWltZWQgYXQgaW5zdGl0dXRpb25zIHdpdGhpbiB0aGUgRGVsaGktTkNSIHJlZ2lvbiwgYSBzaWduaWZpY2FudCBudW1iZXIgb2YgcmVzcG9uc2VzIGZyb20gb3V0c2lkZSBvZiBEZWxoaS1OQ1Igd2VyZSByZWNlaXZlZDsgdGhpcyB3YXMgZHVlIHRvIGRpc3RhbmNlLWxlYXJuaW5nIHJlZ3VsYXRpb25zIHRoYXQgZm9yY2VkIG1hbnkgc3R1ZGVudHMgdG8gbW92ZSBvdXQgb2YgaG9tZXMgYW5kIGluc3RpdHV0aW9ucyB0byByZXNpZGUgZWxzZXdoZXJlLiBPZiB0aGUgdG90YWwgbnVtYmVyIG9mIHJlc3BvbmRlbnRzLCAzOC4zJSB3ZXJlIGxpdmluZyBvdXRzaWRlIG9mIHRoZSBEZWxoaS1OQ1IuCgo8YnI+CgpgYGB7cn0KZ2dwbG90bHkoZGF0YXNldCAlPiUgCiAgZ2dwbG90KGFlcyh4ID0gUmVnaW9uKSkgKwogIGdlb21fYmFyKGZpbGwgPSAiI2U3ZDRlOCIpICsKICBsYWJzKHRpdGxlID0gIk51bWJlciBvZiBTdXJ2ZXkgUmVzcG9uZGVudHMgYnkgUmVnaW9uIiwgeCA9ICIiLCB5ID0gIiIpICsKICB0aGVtZShwYW5lbC5ncmlkID0gZWxlbWVudF9ibGFuaygpLCAKICAgICAgICBwbG90LnRpdGxlLnBvc2l0aW9uPSAicGxvdCIsIAogICAgICAgIHN0cmlwLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSkpCmBgYAoKCiMjIyAqKkNsYXNzIFRpbWUqKgoKVGhpcyBwbG90IGNvbXBhcmVzIHRoZSBtZWRpYW4gbnVtYmVyIG9mIGhvdXJzIHNwZW50IGluIGNsYXNzIGJ5IGRpZmZlcmVudCBhZ2UgZ3JvdXBzLiBGb3IgdGhlIHNvbGUgcHVycG9zZSBvZiB0aGlzIHN0dWR5LCBpdCBpcyBpbXBvcnRhbnQgdG8gZHJhdyBhdHRlbnRpb24gdG8gaG93IG1hbnkgaG91cnMgc3R1ZGVudHMgYXJlIHNwZW5kaW5nIHNpdHRpbmcgaW4gZnJvbnQgb2YgYSBzY3JlZW4gZWFjaCBkYXkuIEZyb20gdGhpcyBwbG90LCB3ZSBjYW4gb2JzZXJ2ZSB0aGF0IHJlc3BvbmRlbnRzIHdpdGhpbiB0aGUgNy0xMyBhbmQgMTQtMTggYWdlLWdyb3VwcyBzcGVuZCB0aGUgbW9zdCBhbW91bnQgb2YgdGltZSBpbiBjbGFzcyBwZXIgZGF5LiBUaGUgcmVzZWFyY2hlcnMgZW1waGFzaXplZCB0aGF0IGRpZmZlcmVudCB2YXJpYWJsZXMgKHRpbWUgc3BlbnQgb24gb25saW5lIGNsYXNzLCBzZWxmLXN0dWR5LCBmaXRuZXNzLCBzbGVlcCwgYW5kIHNvY2lhbCBtZWRpYSkgY2hhbmdlIHdpdGggZGlmZmVyZW50IGFnZSBkaXN0cmlidXRpb25zLiBBdmVyYWdlIHRpbWUgc3BlbnQgaW4gY2xhc3MgYW5kIGFnZS1ncm91cCB3ZXJlIHR3byBvZiB0aGUgdmFyaWFibGVzIHRoYXQgd2VyZSBpbnZlcnNlbHkgcHJvcG9ydGlvbmFsIHRvIGVhY2ggb3RoZXI7IGFzIGFnZS1ncm91cCB2YWx1ZSBpbmNyZWFzZXMsIHRoZSBhdmVyYWdlIG51bWJlciBvZiBob3VycyBzcGVudCBvbmxpbmUgc3RhcnRzIHRvIGRlY3JlYXNlLgoKPGJyPgoKYGBge3J9CmRhdGFzZXQgJT4lCiAgZ3JvdXBfYnkoQWdlQ2F0LCBDb25uZWN0aW9uLCBSZWdpb24pICU+JSAKICBnZ3Bsb3QoYWVzKHggPSBBZ2VDYXQsCiAgICAgICAgICAgICB5ID0gT25saW5lQ2xhc3MpKSArCiAgZ2VvbV9ib3hwbG90KGZpbGwgPSAiI2MyYTVjZiIsIGNvbG9yID0gIiM3NjJhODMiLCBhbHBoYSA9IC41KSArCiAgbGFicyh4ID0gIiIsIAogICAgICAgeSA9ICIiLCAKICAgICAgIHRpdGxlID0gIkNvbXBhcmluZyBIb3VycyBTcGVudCBpbiBDbGFzcyBQZXIgRGF5IGJ5IEFnZSIpICsKICB0aGVtZShwYW5lbC5ncmlkID0gZWxlbWVudF9ibGFuaygpLCAKICAgICAgICBwbG90LnRpdGxlLnBvc2l0aW9uPSAicGxvdCIsIAogICAgICAgIHN0cmlwLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSkKCmBgYAoKCiMjICoqU29jaWFsIE1lZGlhIFVzZSwgU2xlZXAsIGFuZCBNZW50YWwgSGVhbHRoIE91dGNvbWVzICoqCgpJbiBhIHJlY2VudCBzdHVkeSBleGFtaW5pbmcgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIG1lbnRhbCBoZWFsdGggYW5kIHNsZWVwIGluIGNvbGxlZ2Ugc3R1ZGVudHMsIHJlc2VhcmNoZXJzIGZvdW5kIHRoYXQgZGlmZmVyZW50IG1lbnRhbCBoZWFsdGggc3ltcHRvbXMgaGFkIGRpZmZlcmVudCBwYXR0ZXJucyBvZiBhc3NvY2lhdGlvbiB3aXRoIHBvb3Igc2xlZXAuIFRoZXkgZm91bmQgYW4gYXNzb2NpYXRpb24gYmV0d2VlbiBhbnhpZXR5IGFuZCBkZXByZXNzaW9uIHN5bXB0b21zIGFuZCBzbGVlcCwgYnV0IGZvdW5kIHRoYXQgbWVudGFsIGhlYWx0aCBjb25kaXRpb25zIG9ubHkgYWZmZWN0ZWQgY2VydGFpbiBhc3BlY3RzIG9mIHBvb3Igc2xlZXAuIFRoaXMgc3R1ZHkgYWxzbyBlbXBoYXNpemVkIHRoYXQgdGhlIGVmZmVjdHMgb2YgcG9vciBtZW50YWwgaGVhbHRoIGNvdWxkIGJlIGV4YWNlcmJhdGVkIGJ5IGluYWRlcXVhdGUgc2xlZXBpbmcgaG91cnMgb3IgcG9vciBzbGVlcC4gUHJldmlvdXMgcmVzZWFyY2ggaGFzIHNob3duIHRoYXQgaW1wcm92aW5nIHNsZWVwIGZvciBzdHVkZW50cyBtYXkgYWxzbyBpbXByb3ZlIG1vb2QuIChCZWNrZXIgZXQgYWwuLCAyMDE4KS4KCkEgY29ycmVsYXRpb25hbCBzdHVkeSBmcm9tIDIwMTggZXhhbWluZWQgdGhlIGFzc29jaWF0aW9uIG9mIG91dGNvbWVzIG9mIHNvY2lhbCBtZWRpYSB1c2UgaW4geW91bmcgYWR1bHRzIHN1Y2ggYXMgZ2VuZXJhbCBtZW50YWwgaGVhbHRoIHN5bXB0b21zLCBsb25lbGluZXNzLCBzdWljaWRhbCB0aG91Z2h0cywgYW5kIGEgY2hhbmdlIGluIGVtcGF0aHk7IHRoZXkgYW5kIGZvdW5kIHRoYXQgY29uY2VybnMgcmVnYXJkaW5nIHNvY2lhbCBtZWRpYSB1c2UgaW4geW91bmcgYWR1bHRzIG1heSBiZSBtaXNwbGFjZWQuIFRob3VnaCBvcmdhbml6YXRpb25zIHN1Y2ggYXMgdGhlIFJveWFsIFNvY2lldHkgZm9yIFB1YmxpYyBIZWFsdGggaGF2ZSByZXBvcnRlZCBldmlkZW5jZSBmb3IgbGlua3MgYmV0d2VlbiBzb2NpYWwgbWVkaWEgdXNlIGFuZCBwb29yIG1lbnRhbCBoZWFsdGgsIHRoaXMgcGFydGljdWxhciBzdHVkeSBkaWQgbm90IGZpbmQgcHJvb2Ygb2YgYW4gYXNzb2NpYXRpb24uIFRoaXMgc3R1ZHkgcG9pbnRlZCBvdXQgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0eXBlcyBvZiBzb2NpYWwgbWVkaWEgdXNlIGFuZCB0aGVpciBtZW50YWwgaGVhbHRoIGVmZmVjdHMuIElmIHNvY2lhbCBtZWRpYSB3YXMgdXNlZCBmb3IgbmVnYXRpdmUgc29jaWFsIGNvbXBhcmlzb24sIHRoaXMgY291bGQgbGVhZCB0byBkZXByZXNzaW9uOyBob3dldmVyLCBhdXRoZW50aWMgc2VsZi1wcmVzZW50YXRpb24gY291bGQgYmUgYXNzb2NpYXRlZCB3aXRoIHBvc2l0aXZlIG1lbnRhbCBoZWFsdGggZWZmZWN0cy4gVGhlIDIwMTggc3R1ZHkgYWxzbyBzdGF0ZWQgdGhhdCB0aW1lIHNwZW50IHdpdGggc29jaWFsIG1lZGlhIG9yIGV4cG9zdXJlIGFsb25lIGlzIG5vdCBhIGdvb2QgaW5kaWNhdG9yIG9mIG1lbnRhbCBoZWFsdGgsIGJ1dCBpbnN0ZWFkIHRoYXQgKmhvdyogdGhlIHRpbWUgd2FzIHNwZW50IGlzIGJldHRlciBmb3IgYW5hbHlzaXMgYW5kIGlkZW50aWZ5aW5nIHByb2JsZW1zIChCZXJyeW1hbiwgRmVyZ3Vzb24sIGFuZCBOZWd5LCAyMDE4KS4KCiMjIyMgKipTb2NpYWwgTWVkaWEgYW5kIFNsZWVwKioKCkluIHRoZSBncmFwaCBiZWxvdyB3ZSBzZWVrIHRvIGV4YW1pbmUgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIGJldHdlZW4gdGltZSBzcGVudCBvbiBzb2NpYWwgbWVkaWEgcGVyIHdlZWsgYW5kIHRpbWUgc3BlbnQgc2xlZXBpbmcgcGVyIHdlZWsgYXMgaW5kaWNhdG9ycyBmb3IgbWVudGFsIGhlYWx0aC4gRHVlIHRvIHRoZSBmYWN0IHRoYXQgc2xlZXAgZGlzdHVyYmFuY2UgY2FuIG9mdGVuIGJlIGFuIGluZGljYXRvciBvciBhc3NvY2lhdGlvbiB3aXRoIHBvb3IgbWVudGFsIGhlYWx0aCBvdXRjb21lcywgd2UgY2hvc2UgdG8gZXhhbWluZSBob3cgdGhlc2UgdHdvIHZhcmlhYmxlcyBpbnRlcmFjdGVkLCBhbmQgdG8gc2VlIGlmIHRoaXMgZGlmZmVyZWQgYnkgYWdlLgoKPGJyPgoKYGBge3IsIGV2YWw9RkFMU0V9CnNsZWVwbWVkaWFfYW5pbSA8LSBkYXRhc2V0ICU+JSAKICBncm91cF9ieShTb2NpYWxNZWRpYSwgYXZnc2xlZXAsIEFnZUNhdCwgU2xlZXApICU+JQogIHN1bW1hcmlzZShhdmdtZWRpYSA9IG1lYW4oU29jaWFsTWVkaWEpKSAlPiUKICBnZ3Bsb3QoYWVzKHggPSBTbGVlcCwgCiAgICAgICAgICAgICB5ID0gU29jaWFsTWVkaWEsIAogICAgICAgICAgICAgY29sb3IgPSBBZ2VDYXQsIAogICAgICAgICAgICAgZ3JvdXAgPSBBZ2VDYXQpKSArCiAgZ2VvbV9qaXR0ZXIoKSArCiAgbGFicyh5ID0gIiIsIAogICAgICAgeCA9ICJIb3VycyBvZiBTbGVlcCIsIAogICAgICAgdGl0bGUgPSAiQW1vdW50IG9mIFNsZWVwIGFuZCBDb3JyZXNwb25kaW5nIFNvY2lhbCBNZWRpYSBVc2UgaW4gSG91cnNcbiBieSBBZ2UgQ2F0ZWdvcnkiLCAKICAgICAgIHN1YnRpdGxlID0gIkFnZXM6IHtjbG9zZXN0X3N0YXRlfSIpICsKICB0cmFuc2l0aW9uX3N0YXRlcyhBZ2VDYXQpKwogIHRoZW1lX21pbmltYWwoKSsKICB0aGVtZShheGlzLmxpbmUgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICAgIHBhbmVsLmdyaWQgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICAgIHBsb3QudGl0bGUucG9zaXRpb249ICJwbG90IiwgCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiLAogICAgICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE0KSwKICAgICAgICBheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoc2l6ZT0xMikpKwogIHNjYWxlX2NvbG9yX2JyZXdlcihwYWxldHRlID0gIlBSR24iKSArCiAgZXhpdF9mYWRlKCkgKwogIGVudGVyX3JlY29sb3IoY29sb3IgPSAiYWxpY2VibHVlIikgKwogIGV4aXRfcmVjb2xvcihjb2xvciA9ICJhbGljZWJsdWUiKQoKYW5pbWF0ZShzbGVlcG1lZGlhX2FuaW0sIGR1cmF0aW9uID0gMjApCgphbmltX3NhdmUoInNsZWVwbWVkaWFfYW5pbS5naWYiKQpgYGAKCmBgYHtyfQprbml0cjo6aW5jbHVkZV9ncmFwaGljcygic2xlZXBtZWRpYV9hbmltLmdpZiIpCmBgYAoKPGJyPgoKRm9yIG1vc3Qgb2YgdGhlIGFnZSBjYXRlZ29yaWVzLCB0aGVyZSBtYXkgYmUgYSBzbGlnaHQgbmVnYXRpdmUgYXNzb2NpYXRpb24gYmV0d2VlbiBob3VycyBvZiBzbGVlcCBhbmQgaG91cnMgb2Ygc29jaWFsIG1lZGlhIHVzZS4gSXQgYXBwZWFycyB0aGF0IHdoaWxlIGhvdXJzIG9mIHNsZWVwIGdvIHVwLCBob3VycyBvZiBzb2NpYWwgbWVkaWEgdXNlIG1heSBzbGlnaHRseSBnbyBkb3duLiBGb3IgdGhlIGFnZSBjYXRlZ29yeSAxOSB5ZWFycyAtIDIzIHllYXJzLCB0aGVyZSBhcHBlYXJzIHRvIGJlIG5vIGFzc29jaWF0aW9uIGF0IGFsbCBiZXR3ZWVuIGFtb3VudCBvZiBzbGVlcCBhbmQgYW1vdW50IG9mIHNvY2lhbCBtZWRpYSB1c2UuIEluIGFkZGl0aW9uLCB0aGUgYXNzb2NpYXRpb24gaXMgbm90IGNsZWFyIGZvciBhbnkgYWdlIGdyb3VwLCBsZWFkaW5nIHVzIHRvIGJlbGlldmUgdGhhdCB0aGUgcmVzdWx0cyBmcm9tIHRoaXMgQ09WSUQtMTkgZGF0YXNldCBtb3N0IGxpa2VseSBmb2xsb3dzIHRoZSB0cmVuZCBzdWdnZXN0ZWQgYnkgQmVycnltYW4sIEZlcmd1c29uLCBhbmQgTmVneSdzIDIwMTggc3R1ZHktLXRoYXQgdGhlcmUgaXMgbGltaXRlZCBwcm9vZiBvZiBzb2NpYWwgbWVkaWEncyBtZW50YWwgaGVhbHRoIGVmZmVjdHMuIEl0IGlzIGFsc28gd29ydGggbm90aW5nIHRoYXQgZGlmZmVyZW5jZSBpbiBhbW91bnQgb2YgdGltZSBzbGVlcGluZyBpcyBub3QgdGhlIGJlc3QgaW5kaWNhdG9yIG9mIG1lbnRhbCBoZWFsdGggb3V0Y29tZXMuIEFub3RoZXIgbWVhc3VyZW1lbnQsIGxpa2UgYW4gaW5jcmVhc2UgYW54aWV0eSBvciBkZXByZXNzaW9uIHN5bXB0b21zLCBtYXkgYmUgYSBiZXR0ZXIgaW5kaWNhdG9yLCBidXQgbmVpdGhlciBzdWNoIHZhcmlhYmxlIHdhcyBpbmNsdWRlZCBpbiB0aGUgZGF0YSBzZXQgdGhhdCB3ZSB1c2VkLgoKCiMjIyMgKipTb2NpYWwgTWVkaWEgYW5kIENvbm5lY3Rpb24qKgoKCkR1cmluZyB0aGUgcGFuZGVtaWMsIHN0dWRlbnRzIGhhdmUgYmVlbiBmb3JjZWQgdG8gcXVhcmFudGluZSBhdCBob21lIHdoaWNoIGhhcyByZXN1bHRlZCBpbiBsZXNzIGZhY2UtdG8tZmFjZSBpbnRlcmFjdGlvbnMgYW5kIG1vcmUgdGltZSBvbiBzb2NpYWwgbWVkaWEgKGlmIGl0J3MgYWNjZXNzaWJsZSB0byB0aGVtKS4gSW4gdGhlIGdyYXBoIGJlbG93LCB3ZSB1c2VkIHRoZSBkYXRhIHNldCB0byBzZWUgaWYgdGhlcmUgaXMgYSBzdHJvbmcgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGF2ZXJhZ2UgdGltZSBzcGVudCBvbiBzb2NpYWwgbWVkaWEgcGVyIGRheSBhbmQgd2hldGhlciBvciBub3Qgc3R1ZGVudHMgZmVlbCBjb25uZWN0ZWQgdG8gdGhlaXIgbG92ZWQgb25lcy4gSW50ZXJlc3RpbmdseSwgdGhlIHBsb3Qgc2hvd3MgdGhhdCBiZXR3ZWVuIHRoZSBkaWZmZXJlbnQgYWdlIGdyb3VwcywgdGhlIHJlc3VsdHMgdmFyeSwgYW5kIHRoZSBhdmVyYWdlIHRpbWUgc3BlbnQgb24gc29jaWFsIG1lZGlhIGRvZXMgbm90IGV4YWN0bHkgZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IG9uZSBmZWVscyBjb25uZWN0ZWQgd2l0aCBsb3ZlZCBvbmVzLiBUaGlzIGlsbHVzdHJhdGVzIHRoYXQgdGhlIGNvbm5lY3Rpb25zIG1hZGUgd2l0aCBsb3ZlZCBvbmVzIGRvIG5vdCBtZXJlbHkgY29tZSBmcm9tIHNvY2lhbCBtZWRpYSBpbnRlcmFjdGlvbnMsIG5vciBhcmUgdGhleSBhIHJlc3VsdCBvZiBoYXZpbmcgdG8gc3RheSBob21lIHdpdGggbG92ZWQgb25lcyBldmVyeWRheS4gUmF0aGVyLCB0aGV5IHNob3cgdGhhdCBjb25uZWN0aW9uIGNhbiBiZSBhIHJlc3VsdCBvZiBhbnl0aGluZyBkZXBlbmRpbmcgb24gdGhlIGluZGl2aWR1YWwuCgo8YnI+CgpgYGB7cn0KZGF0YXNldCAlPiUgCiAgc2VsZWN0KEFnZUNhdCwgU29jaWFsTWVkaWEsIENvbm5lY3Rpb24pICU+JSAKICBncm91cF9ieShBZ2VDYXQsIENvbm5lY3Rpb24pICU+JSAKICBzdW1tYXJpemUoYXZnX3RpbWVfc20gPSBtZWFuKFNvY2lhbE1lZGlhKSkgJT4lIAogIGdncGxvdChhZXMoeCA9IEFnZUNhdCwgeSA9IGF2Z190aW1lX3NtLAogICAgICAgICAgICAgZmlsbCA9IENvbm5lY3Rpb24pKSArCiAgZ2VvbV9jb2wocG9zaXRpb24gPSAiZG9kZ2UiKSArCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gYygiIzk5NzBhYiIsIiM1YWFlNjEiKSkgKwogIGxhYnModGl0bGUgPSAiQXZlcmFnZSBIb3VycyBTcGVudCBPbiBTb2NpYWwgTWVkaWEgYW5kIENvbm5lY3Rpb24gV2l0aCBMb3ZlZCBPbmVzIFBlciBBZ2UgR3JvdXAiLAogICAgICAgeCA9ICIiLAogICAgICAgeSA9ICIiKSArCiAgdGhlbWUocGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpLAogICAgICAgIGF4aXMubGluZSA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgICAgcGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgICAgcGxvdC50aXRsZS5wb3NpdGlvbj0gInBsb3QiLAogICAgICAgIGxlZ2VuZC5wb3NpdGlvbiA9ICJ0b3AiKQpgYGAKCjxicj4KCiMjICoqT3V0Y29tZXMgYW5kIEVmZmVjdHMgb2YgQ09WSUQtMTkqKgoKPGJyPgoKYGBge3J9CmRhdGFzZXQgJT4lCiAgZHJvcF9uYSgpICU+JSAKICBtdXRhdGUoYFdoYXQgcmVzcG9uZGVudHMgbWlzcyB0aGUgbW9zdGAgPSBmY3RfbHVtcF9uKGBXaGF0IHlvdSBtaXNzIHRoZSBtb3N0YCwgNSkpICU+JQogIGNvdW50KGBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgLCBzb3J0PVRSVUUpICU+JSAKICBndChyb3duYW1lX2NvbCA9ICJgV2hhdCByZXNwb25kZW50cyBtaXNzIHRoZSBtb3N0YCIpJT4lIAogIHRhYl9oZWFkZXIoIldoYXQgUmVzcG9uZGVudHMgTWlzcyBNb3N0IikgJT4lIAogIGNvbHNfbGFiZWwoYFdoYXQgcmVzcG9uZGVudHMgbWlzcyB0aGUgbW9zdGA9IiIsCiAgICAgICAgICAgICBuID0gIiIpCmBgYAoKPGJyPgoKV2Ugd2VyZSBpbnRlcmVzdGVkIGluIGV4YW1pbmluZyB3aGF0IHRoZSBzdXJ2ZXkgcmVzcG9uZGVudHMgbWlzc2VkIHRoZSBtb3N0IGR1cmluZyB0aGUgQ09WSUQtMTkgcGFuZGVtaWM7IHdlIGZvdW5kIHRoYXQgb3V0IG9mIHRoZSBtYW55IHN1cnZleSByZXNwb25zZXMsIGVhdGluZyBvdXRzaWRlLCBmcmllbmRzIGFuZCByZWxhdGl2ZXMsIHJvYW1pbmcgYXJvdW5kIGZyZWVseSwgc2Nob29sL2NvbGxlZ2UsIGFuZCB0cmF2ZWxpbmcgd2VyZSB0aGUgbW9zdCBjb21tb24gcmVzcG9uc2VzIHRvIHRoZSBxdWVzdGlvbiAiV2hhdCBkbyB5b3UgbWlzcyB0aGUgbW9zdD8iLiBXZSBvYnNlcnZlZCB0aGF0IHRoZSBtb3N0IGNvbW1vbiByZXNwb25zZXMgd2VyZSBhbHNvIHdoYXQgd2UsIGFzIGNvbGxlZ2Ugc3R1ZGVudHMsIG1pc3NlZCBpbiB0aGUgVW5pdGVkIFN0YXRlcy4gSXQgd2FzIGludGVyZXN0aW5nIHRoYXQgc2Nob29sIGFuZC9vciBjb2xsZWdlIHdhcyB0aGUgbW9zdCBjb21tb24gYW5zd2VyLCBidXQgdGhpcyBhbnN3ZXIgbWFrZXMgc2Vuc2Ugd2hlbiBjb25zaWRlcmluZyB0aGUgZGVtb2dyYXBoaWNzIG9mIHRoZSByZXNwb25kZW50cyBhbmQgdGhlIG1vc3QgY29tbW9uIGFnZXMgZm9yIHJlc3BvbnNlOiBzY2hvb2wgYW5kIGNvbGxlZ2UgYWdlZCBwZW9wbGUuIAoKPGJyPgoKYGBge3J9CmRhdGFzZXQgJT4lIAogIGRyb3BfbmEoKSAlPiUgCiAgbXV0YXRlKGBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgID0gZmN0X2x1bXBfbihgV2hhdCB5b3UgbWlzcyB0aGUgbW9zdGAsIDUpKSAlPiUgCiAgZ2dwbG90KCkrCiAgZ2VvbV9iYXIocG9zaXRpb249ImRvZGdlIiwgYWVzKHg9QWdlQ2F0LCBmaWxsPVJlZ2lvbikpKwogIGZhY2V0X3dyYXAodmFycyhgV2hhdCByZXNwb25kZW50cyBtaXNzIHRoZSBtb3N0YCkpICsKICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXMgPSBjKCIjOTk3MGFiIiwiIzVhYWU2MSIpKSArCiAgbGFicygKICAgIHRpdGxlID0gIldoYXQgUmVzcG9uZGVudHMgTWlzcyBNb3N0CiAgICA8c3BhbiBzdHlsZT0nY29sb3I6Izk5NzBhYjsnPmluIERlaGxpPC9zcGFuPgogICAgPHNwYW4+YW5kIAogICAgPHNwYW4gc3R5bGU9J2NvbG9yOiM1YWFlNjE7Jz5PdXRzaWRlIERlaGxpPC9zcGFuPiIsCiAgICB4ID0gIkFnZSBHcm91cCIsIHkgPSAiIikgKwogIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X21hcmtkb3duKCksCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiLAogICAgICAgIGF4aXMubGluZSA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgICAgcGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgICAgcGxvdC50aXRsZS5wb3NpdGlvbj0gInBsb3QiKQpgYGAKCjxicj4KCkl0IGRvZXNuJ3QgYXBwZWFyIHRoYXQgcmVnaW9uIGltcGFjdGVkIHdoYXQgcmVzcG9uZGVudHMgbWlzc2VkLiBXZSBhbnRpY2lwYXRlZCB0aGlzIGJlY2F1c2UsIGFzIG1lbnRpb25lZCwgbWFueSBvZiB0aGUgdGhpbmdzIHRoYXQgc3VydmV5IHJlc3BvbmRlbnRzIHJlcG9ydGVkIG1pc3Npbmcgd2VyZSB0aGluZ3MgdGhhdCB3ZSBhcyBBbWVyaWNhbiBzdHVkZW50cyBhbHNvIG1pc3NlZC4gSG93ZXZlciwgYmVjYXVzZSBvdXIgZGVtb2dyYXBoaWMgaXMgaW1iYWxhbmNlZCwgd2Ugd2VyZSBjdXJpb3VzIHRvIGxvb2sgbW9yZSBjbG9zZWx5IGF0IHRoZSBhZ2UgZ3JvdXBpbmdzIHdlIG1hZGUgYW5kIHNlZSBob3cgc3R1ZGVudHMgcmVzcG9uZGVkIHRvIHRoaXMgcXVlc3Rpb24gY29tcGFyZWQgdG8gdGhlaXIgcGVlcnMuCgo8YnI+CgpgYGB7cn0KI3dpdGhpbiBBZ2VDYXQ9Ny0xMywgd2hhdCBwZXJjZW50YWdlIHNhaWQgd2hhdDoKCmxpc3RsYWJlbHMgPC0gYygiRWF0aW5nIE91dHNpZGUiLCAiRnJpZW5kcy9SZWxhdGl2ZXMiLCAiUm9hbWluZyBGcmVlbHkiLCAiU2Nob29sL0NvbGxlZ2UiLCAiVHJhdmVsbGluZyIpCmxpc3RsYXN0bGFiZWxzIDwtIGMoIlNjaG9vbC9Db2xsZWdlIiwgIlRyYXZlbGxpbmciKQoKYWcxIDwtIGRhdGFzZXQgJT4lIAogIGRyb3BfbmEoKSAlPiUgCiAgbXV0YXRlKGBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgID0gZmN0X2x1bXBfbihgV2hhdCB5b3UgbWlzcyB0aGUgbW9zdGAsIDUpKSAlPiUgCiAgZmlsdGVyKGBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgICE9ICJPdGhlciIpICAlPiUKICBmaWx0ZXIoQWdlQ2F0PT0iNy0xMyIpICU+JQogIGdyb3VwX2J5KEFnZUNhdCxgV2hhdCByZXNwb25kZW50cyBtaXNzIHRoZSBtb3N0YCkgJT4lIAogIGNvdW50KHNvcnQ9VFJVRSkgICU+JQogIG11dGF0ZShwcm9wPW4vODkqMTAwKSAlPiUgCiAgZ2dwbG90KCkrCiAgZ2VvbV9jb2wocG9zaXRpb249ImRvZGdlIiwgYWVzKHg9YFdoYXQgcmVzcG9uZGVudHMgbWlzcyB0aGUgbW9zdGAsIHk9cHJvcCksIGZpbGw9IiM3NjJhODMiKSArCiAgbGFicyh4ID0gIiIsIAogICAgICAgeSA9ICIiLCAKICAgICAgIHRpdGxlID0gIkFnZXMgNy0xMyIpICsKICBzY2FsZV94X2Rpc2NyZXRlKGxhYmVscz0gbGlzdGxhYmVscykgKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIiwKICAgICAgICBheGlzLmxpbmUgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICAgIHBhbmVsLmdyaWQgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICAgIHBsb3QudGl0bGUucG9zaXRpb249ICJwbG90IikKCgoKI3dpdGhpbiBBZ2VDYXQ9MTQtMTgsIHdoYXQgcGVyY2VudGFnZSBzYWlkIHdoYXQ6CgphZzIgPC0gZGF0YXNldCAlPiUgCiAgZHJvcF9uYSgpICU+JSAKICBtdXRhdGUoYFdoYXQgcmVzcG9uZGVudHMgbWlzcyB0aGUgbW9zdGAgPSBmY3RfbHVtcF9uKGBXaGF0IHlvdSBtaXNzIHRoZSBtb3N0YCwgNSkpICU+JQogIGZpbHRlcihgV2hhdCByZXNwb25kZW50cyBtaXNzIHRoZSBtb3N0YCAhPSAiT3RoZXIiKSAgJT4lCiAgZmlsdGVyKEFnZUNhdD09IjE0LTE4IikgJT4lCiAgZ3JvdXBfYnkoQWdlQ2F0LGBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgKSAlPiUgCiAgY291bnQoc29ydD1UUlVFKSAgJT4lCiAgbXV0YXRlKHByb3A9bi8yNjUqMTAwKSAlPiUgCiAgZ2dwbG90KCkrCiAgZ2VvbV9jb2wocG9zaXRpb249ImRvZGdlIiwgYWVzKHg9YFdoYXQgcmVzcG9uZGVudHMgbWlzcyB0aGUgbW9zdGAsIHk9cHJvcCksIGZpbGw9IiM5OTcwYWIiKSArCiAgbGFicyh4ID0gIiIsIAogICAgICAgeSA9ICIiLCAKICAgICAgIHRpdGxlID0gIkFnZXMgMTQtMTgiKSArCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiLAogICAgICAgIGF4aXMubGluZSA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgICAgcGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgICAgcGxvdC50aXRsZS5wb3NpdGlvbj0gInBsb3QiKSArCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHM9IGxpc3RsYWJlbHMpCgoKCiN3aXRoaW4gQWdlQ2F0PTE5LTIzLCB3aGF0IHBlcmNlbnRhZ2Ugc2FpZCB3aGF0OgoKYWczIDwtIGRhdGFzZXQgJT4lIAogIGRyb3BfbmEoKSAlPiUgCiAgbXV0YXRlKGBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgID0gZmN0X2x1bXBfbihgV2hhdCB5b3UgbWlzcyB0aGUgbW9zdGAsIDUpKSAlPiUKICBmaWx0ZXIoYFdoYXQgcmVzcG9uZGVudHMgbWlzcyB0aGUgbW9zdGAgIT0gIk90aGVyIikgICU+JQogIGZpbHRlcihBZ2VDYXQ9PSIxOS0yMyIpICU+JQogIGdyb3VwX2J5KEFnZUNhdCxgV2hhdCByZXNwb25kZW50cyBtaXNzIHRoZSBtb3N0YCkgJT4lIAogIGNvdW50KHNvcnQ9VFJVRSkgICU+JQogIG11dGF0ZShwcm9wPW4vNjQ1KjEwMCkgJT4lIAogIGdncGxvdCgpKwogIGdlb21fY29sKHBvc2l0aW9uPSJkb2RnZSIsIGFlcyh4PWBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgLCB5PXByb3ApLCBmaWxsPSIjYzJhNWNmIikgKwogIGxhYnMoeCA9ICIiLCAKICAgICAgIHkgPSAiIiwgCiAgICAgICB0aXRsZSA9ICJBZ2VzIDE5LTIzIikgKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIiwKICAgICAgICBheGlzLmxpbmUgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICAgIHBhbmVsLmdyaWQgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICAgIHBsb3QudGl0bGUucG9zaXRpb249ICJwbG90IikgKwogIHNjYWxlX3hfZGlzY3JldGUobGFiZWxzPSBsaXN0bGFiZWxzKQoKCgojd2l0aGluIEFnZUNhdD0yNC0zMywgd2hhdCBwZXJjZW50YWdlIHNhaWQgd2hhdDoKCmFnNCA8LSBkYXRhc2V0ICU+JSAKICBkcm9wX25hKCkgJT4lIAogIG11dGF0ZShgV2hhdCByZXNwb25kZW50cyBtaXNzIHRoZSBtb3N0YCA9IGZjdF9sdW1wX24oYFdoYXQgeW91IG1pc3MgdGhlIG1vc3RgLCA1KSkgJT4lCiAgZmlsdGVyKGBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgICE9ICJPdGhlciIpICAlPiUKICBmaWx0ZXIoQWdlQ2F0PT0iMjQtMzMiKSAlPiUKICBncm91cF9ieShBZ2VDYXQsYFdoYXQgcmVzcG9uZGVudHMgbWlzcyB0aGUgbW9zdGApICU+JSAKICBjb3VudChzb3J0PVRSVUUpICAlPiUKICBtdXRhdGUocHJvcD1uLzg0KjEwMCkgJT4lIAogIGdncGxvdCgpKwogIGdlb21fY29sKHBvc2l0aW9uPSJkb2RnZSIsIGFlcyh4PWBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgLCB5PXByb3ApLCBmaWxsPSIjYTZkYmEwIikgKwogIGxhYnMoeCA9ICIiLCAKICAgICAgIHkgPSAiIiwgCiAgICAgICB0aXRsZSA9ICJBZ2VzIDI0LTMzIikgKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIiwKICAgICAgICBheGlzLmxpbmUgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICAgIHBhbmVsLmdyaWQgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICAgIHBsb3QudGl0bGUucG9zaXRpb249ICJwbG90IikgKwogIHNjYWxlX3hfZGlzY3JldGUobGFiZWxzPSBsaXN0bGFiZWxzKQoKCgojd2l0aGluIEFnZUNhdD0zNC00NSwgd2hhdCBwZXJjZW50YWdlIHNhaWQgd2hhdDoKCmFnNSA8LSBkYXRhc2V0ICU+JSAKICBkcm9wX25hKCkgJT4lIAogIG11dGF0ZShgV2hhdCByZXNwb25kZW50cyBtaXNzIHRoZSBtb3N0YCA9IGZjdF9sdW1wX24oYFdoYXQgeW91IG1pc3MgdGhlIG1vc3RgLCA1KSkgJT4lCiAgZmlsdGVyKGBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgICE9ICJPdGhlciIpICAlPiUKICBmaWx0ZXIoQWdlQ2F0PT0iMzQtNDUiKSAlPiUKICBncm91cF9ieShBZ2VDYXQsYFdoYXQgcmVzcG9uZGVudHMgbWlzcyB0aGUgbW9zdGApICU+JSAKICBjb3VudChzb3J0PVRSVUUpICAlPiUKICBtdXRhdGUocHJvcD1uLzQyKjEwMCkgJT4lIAogIGdncGxvdCgpKwogIGdlb21fY29sKHBvc2l0aW9uPSJkb2RnZSIsIGFlcyh4PWBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgLCB5PXByb3ApLCBmaWxsPSIjNWFhZTYxIikgKwogIGxhYnMoeCA9ICIiLCAKICAgICAgIHkgPSAiIiwgCiAgICAgICB0aXRsZSA9ICJBZ2VzIDM0LTQ1IikgKwogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIiwKICAgICAgICBheGlzLmxpbmUgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICAgIHBhbmVsLmdyaWQgPSBlbGVtZW50X2JsYW5rKCksIAogICAgICAgIHBsb3QudGl0bGUucG9zaXRpb249ICJwbG90IikgKwogIHNjYWxlX3hfZGlzY3JldGUobGFiZWxzPSBsaXN0bGFiZWxzKQoKCgojd2l0aGluIEFnZUNhdD00Ni02MCwgd2hhdCBwZXJjZW50YWdlIHNhaWQgd2hhdDoKCmFnNiA8LSBkYXRhc2V0ICU+JSAKICBkcm9wX25hKCkgJT4lIAogIG11dGF0ZShgV2hhdCByZXNwb25kZW50cyBtaXNzIHRoZSBtb3N0YCA9IGZjdF9sdW1wX24oYFdoYXQgeW91IG1pc3MgdGhlIG1vc3RgLCA1KSkgJT4lCiAgZmlsdGVyKGBXaGF0IHJlc3BvbmRlbnRzIG1pc3MgdGhlIG1vc3RgICE9ICJPdGhlciIpICAlPiUKICBmaWx0ZXIoQWdlQ2F0PT0iNDYtNTkiKSAlPiUKICBncm91cF9ieShBZ2VDYXQsYFdoYXQgcmVzcG9uZGVudHMgbWlzcyB0aGUgbW9zdGApICU+JSAKICBjb3VudChzb3J0PVRSVUUpICAlPiUKICBtdXRhdGUocHJvcD1uLzQqMTAwKSAlPiUgCiAgZ2dwbG90KCkrCiAgZ2VvbV9jb2wocG9zaXRpb249ImRvZGdlIiwgYWVzKHg9YFdoYXQgcmVzcG9uZGVudHMgbWlzcyB0aGUgbW9zdGAsIHk9cHJvcCksIGZpbGw9IiMxYjc4MzciKSArCiAgbGFicyh4ID0gIiIsIAogICAgICAgeSA9ICIiLCAKICAgICAgIHRpdGxlID0gIkFnZXMgNDYtNTkiKSArCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiLAogICAgICAgIGF4aXMubGluZSA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgICAgcGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKSwgCiAgICAgICAgcGxvdC50aXRsZS5wb3NpdGlvbj0gInBsb3QiKSArCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHM9IGxpc3RsYXN0bGFiZWxzKQpgYGAKCioqV2hhdCBSZXNwb25kZW50cyBNaXNzIHRoZSBNb3N0OiBQcm9wb3J0aW9uYWxseSBieSBBZ2UgR3JvdXAqKgpgYGB7ciwgZmlnLndpZHRoPTEzLCBmaWcuaGVpZ2h0PTExfQooYWcxfGFnMikgLyAoYWczfGFnNCkgLyAoYWc1IHxhZzYpCmBgYAoKIyMgKipDb25jbHVzaW9uKioKCiMjIyAqKk1ham9yIEZpbmRpbmdzKiogCgoqIFRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBzb2NpYWwgbWVkaWEgdXNlIGFuZCBzbGVlcCB2YXJpZXMgc2xpZ2h0bHkgYnkgYWdlLCBhbmQgdGhlcmUgd2FzIG5vdCBhIHN0cm9uZyBhc3NvY2lhdGlvbiBiZXR3ZWVuIGNvbm5lY3Rpb24gYW5kIHNvY2lhbCBtZWRpYS4gCgoqIFRpbWUgc3BlbnQgaW4gY2xhc3MgZGlkIG5vdCBoYXZlIGEgc2lnbmlmaWNhbnQgZWZmZWN0IG9uIGNvbm5lY3Rpb24gd2l0aCBsb3ZlZCBvbmVzLCBidXQgdmFyaWVkIGJ5IGFnZS4KCiogQXNwZWN0cyBvZiByZWd1bGFyIGxpZmUgdGhhdCBDT1ZJRC0xOSBjaGFuZ2VkIG9yIHRvb2sgYXdheSB3ZXJlIG1pc3NlZCBieSBkaWZmZXJlbnQgYWdlcyBpbiBkaWZmZXJlbnQgd2F5cy4gRm9yIGV4YW1wbGUsIDctMTMgeWVhci1vbGRzIG1vc3QgbWlzc2VkIHNjaG9vbCB3aGlsZSB0aG9zZSBhZ2VkIDM0LTQ1IG1pc3NlZCB0cmF2ZWwuIAoKIyMjICoqVGFrZWF3YXlzKioKCkluIGJvdGggdGhlIFVuaXRlZCBTdGF0ZXMgYW5kIEluZGlhLCByZXNlYXJjaCBkYXRhIGFuZCBhbmFseXNpcyBjb25jbHVkZXMgdGhhdCB0aGUgQ09WSUQtMTkgcGFuZGVtaWMgaGFzIGluZGVlZCBpbXBhY3RlZCBzdHVkZW50c+KAmSBtZW50YWwgaGVhbHRoIGFuZCBlZHVjYXRpb24uIEJvdGggcmVnaW9ucyBzdWdnZXN0IHRoYXQgdGhlcmUgYXJlIG1lYXN1cmVzIHdlIG5lZWQgdG8gYmVnaW4gdGFraW5nIGFzIHdlbGwgYXMgc2V2ZXJhbCBhc3BlY3RzIG9mIG91ciBwdWJsaWMgZWR1Y2F0aW9uIHRoYXQgY2FsbCBmb3IgaW1wcm92aXNhdGlvbi4gSXQgaXMgYSBnbG9iYWwgcmVzcG9uc2liaWxpdHkgZm9yIGF1dGhvcml0aWVzLCBlZHVjYXRvcnMsIGFuZCBwYXJlbnRzIHRvIG51cnR1cmUgdGhlIHBvdGVudGlhbCBvZiBvdXIgeW91dGggYnkgcHJvdmlkaW5nIHRoZW0gYSBzYWZlIGVudmlyb25tZW50IGFuZCBhIHN1cHBvcnRpdmUgZWR1Y2F0aW9uIHN5c3RlbS4KClRoZXJlIGFyZSBhIGZldyBzdWdnZXN0aW9ucyBmb3IgZWR1Y2F0b3JzIGFuZCBpbnN0aXR1dGlvbnMgdGhhdCB3ZSBhZ3JlZWQgd2l0aCBhbmQgYmVsaWV2ZSBzaG91bGQgYmUgYXBwbGllZCBnbG9iYWxseSBvbmNlIHRoZSBwYW5kZW1pYyBlbmRzLiBGaXJzdCBvZmYsIGVkdWNhdG9ycyBhbGwgb3ZlciB0aGUgd29ybGQgc2hvdWxkIGFja25vd2xlZGdlIHRoZSBtYWpvciByb2xlIHRoYXQgdGhleSBoYXZlIHdpdGhpbiBldmVyeSBzaW5nbGUgc3R1ZGVudHPigJkgbWVudGFsIGFuZCBwaHlzaWNhbCB3ZWxsLWJlaW5nLiBFc3BlY2lhbGx5IGF0IGEgdGltZSBsaWtlIHRoaXMsIHRoZXJlIGFyZSBtYW55IHN0ZXBzIHRoYXQgdGVhY2hlcnMgY2FuIHRha2UgdG8gaGVscCBsZXNzZW4gc3RyZXNzIGFuZCBhbnhpZXR5IGZvciB0aGVpciBzdHVkZW50czsgb25lIHN1Y2ggbWVhc3VyZSBvZiBzdXBwb3J0IGlzIGluZGl2aWR1YWxseSBjaGVja2luZyBpbiB3aXRoIHN0dWRlbnRzIHRvIGNoYXQgYWJvdXQgYXNwZWN0cyBvZiB0aGVpciBsaWZlIG91dHNpZGUgb2YgYWNhZGVtaWNzLiBBZGRpdGlvbmFsbHksIGF1dGhvcml0aWVzIHNob3VsZCBiZWdpbiBpbnZlc3RpbmcgbW9yZSBpbiBvbmxpbmUgZWR1Y2F0aW9uIGFuZCBjb25kdWN0IGZ1cnRoZXIgcmVzZWFyY2ggdG8gaW1wcm92ZSBpdC4gVGhpcyB3YXksIGlmIGFub3RoZXIgZ2xvYmFsIHBhbmRlbWljIGlzIHRvIG9jY3VyIGluIHRoZSBuZWFyIGZ1dHVyZSwgd2UgY2FuIG1pbmltaXplIG9yIHByZXZlbnQgdGhlIGRpc3J1cHRpb24gaW4gYWNhZGVtaWMgbGlmZSwgYXZvaWQgQ09WSUQtMTkgcmVsYXRlZCBpc3N1ZXMgZnJvbSByZW9jY3VycmluZywgYW5kIHRodXMgcHJvdmlkZSBvdXIgc3R1ZGVudHMgd2l0aCBhbiBpbXByb3ZlZCBvbmxpbmUgZWR1Y2F0aW9uIHN5c3RlbS4gVGVhY2hlcnMgd2lsbCBuZWVkIHByb3BlciB0cmFpbmluZyBmb3Igc2tpbGxzIGluIHJlbW90ZSB0ZWFjaGluZy4gTGFzdCBidXQgZGVmaW5pdGVseSBub3QgbGVhc3QsIHRoZSByZXNlYXJjaCBzdWdnZXN0ZWQgdGhhdCB3ZSBjYW4gYmV0dGVyIHByb3ZpZGUgbWVudGFsIGFuZCBlbW90aW9uYWwgc3VwcG9ydCBmb3Igc3R1ZGVudHMgYnkgaW1wcm92aW5nIGhlYWx0aCBjYXJlIG1hbmFnZW1lbnQgb3ZlcmFsbC4KCjxicj4KCiMjIyMgKipSZWZlcmVuY2VzKioKCgpCZWNrZXIsIFMuIFAuLCBKYXJyZXR0LCBNLiBBLiwgTHVlYmJlLCBBLiBNLiwgR2FybmVyLCBBLiBBLiwgQnVybnMsIEcuIEwuLCAmIEtvZmxlciwgTS4gSi4gKDIwMTgpLiBTbGVlcCBpbiBhIGxhcmdlLCBtdWx0aS11bml2ZXJzaXR5IHNhbXBsZSBvZiBjb2xsZWdlIHN0dWRlbnRzOiBzbGVlcCBwcm9ibGVtIHByZXZhbGVuY2UsIHNleCBkaWZmZXJlbmNlcywgYW5kIG1lbnRhbCBoZWFsdGggY29ycmVsYXRlcy4gU2xlZXAgaGVhbHRoLCA0KDIpLCAxNzQtMTgxLgoKQmVycnltYW4sIEMuLCBGZXJndXNvbiwgQy4gSi4sICYgTmVneSwgQy4gKDIwMTgpLiBTb2NpYWwgbWVkaWEgdXNlIGFuZCBtZW50YWwgaGVhbHRoIGFtb25nIHlvdW5nIGFkdWx0cy4gUHN5Y2hpYXRyaWMgcXVhcnRlcmx5LCA4OSgyKSwgMzA3LTMxNC4KCkNoYXR1cnZlZGksIEt1bmFsLCBldCBhbC4g4oCcQ09WSUQtMTkgYW5kIEl0cyBJbXBhY3Qgb24gRWR1Y2F0aW9uLCBTb2NpYWwgTGlmZSBhbmQgTWVudGFsIEhlYWx0aCBvZiBTdHVkZW50czogQSBTdXJ2ZXku4oCdIENoaWxkcmVuIGFuZCBZb3V0aCBTZXJ2aWNlcyBSZXZpZXcsIHZvbC4gMTIxLCAyNyBEZWMuIDIwMjAsIHAuIDEwNTg2Ni4sIGRvaToxMC4xMDE2L2ouY2hpbGR5b3V0aC4yMDIwLjEwNTg2Ni4gCgpXcml0aW5nQ2l0eS4g4oCcSG93IFJlbW90ZSBMZWFybmluZyBBZmZlY3RzIFN0dWRlbnRzJyBNZW50YWwgSGVhbHRoLuKAnSBXcml0aW5nQ2l0eSwgOSBPY3QuIDIwMjAsIHd3dy53cml0aW5nY2l0eS5jb20vaG93LXJlbW90ZS1sZWFybmluZy1hZmZlY3RzLXN0dWRlbnRzLW1lbnRhbC1oZWFsdGguaHRtbC4gCg==
Social Media Use, Sleep, and Mental Health Outcomes
In a recent study examining the relationship between mental health and sleep in college students, researchers found that different mental health symptoms had different patterns of association with poor sleep. They found an association between anxiety and depression symptoms and sleep, but found that mental health conditions only affected certain aspects of poor sleep. This study also emphasized that the effects of poor mental health could be exacerbated by inadequate sleeping hours or poor sleep. Previous research has shown that improving sleep for students may also improve mood. (Becker et al., 2018).
A correlational study from 2018 examined the association of outcomes of social media use in young adults such as general mental health symptoms, loneliness, suicidal thoughts, and a change in empathy; they and found that concerns regarding social media use in young adults may be misplaced. Though organizations such as the Royal Society for Public Health have reported evidence for links between social media use and poor mental health, this particular study did not find proof of an association. This study pointed out the difference between types of social media use and their mental health effects. If social media was used for negative social comparison, this could lead to depression; however, authentic self-presentation could be associated with positive mental health effects. The 2018 study also stated that time spent with social media or exposure alone is not a good indicator of mental health, but instead that how the time was spent is better for analysis and identifying problems (Berryman, Ferguson, and Negy, 2018).
Social Media and Sleep
In the graph below we seek to examine the relationship with between time spent on social media per week and time spent sleeping per week as indicators for mental health. Due to the fact that sleep disturbance can often be an indicator or association with poor mental health outcomes, we chose to examine how these two variables interacted, and to see if this differed by age.
For most of the age categories, there may be a slight negative association between hours of sleep and hours of social media use. It appears that while hours of sleep go up, hours of social media use may slightly go down. For the age category 19 years - 23 years, there appears to be no association at all between amount of sleep and amount of social media use. In addition, the association is not clear for any age group, leading us to believe that the results from this COVID-19 dataset most likely follows the trend suggested by Berryman, Ferguson, and Negy's 2018 study--that there is limited proof of social media's mental health effects. It is also worth noting that difference in amount of time sleeping is not the best indicator of mental health outcomes. Another measurement, like an increase anxiety or depression symptoms, may be a better indicator, but neither such variable was included in the data set that we used.
Social Media and Connection
During the pandemic, students have been forced to quarantine at home which has resulted in less face-to-face interactions and more time on social media (if it's accessible to them). In the graph below, we used the data set to see if there is a strong relationship between the average time spent on social media per day and whether or not students feel connected to their loved ones. Interestingly, the plot shows that between the different age groups, the results vary, and the average time spent on social media does not exactly determine whether or not one feels connected with loved ones. This illustrates that the connections made with loved ones do not merely come from social media interactions, nor are they a result of having to stay home with loved ones everyday. Rather, they show that connection can be a result of anything depending on the individual.